In a cloud computing environment, a service needs to be provided for a relatively large quantity of users. Therefore, there is usually a relatively large quantity of computing devices in a data center for providing a cloud service. In addition, multiple virtual machines (VM for short), for example, a VM−1 to a VM−n in FIG. 1, run on each computing device. A VM communicates, by using a virtual switch (VS for short), with a VM running on another computing device or a VM on a same computing device. A software-defined networking (SDN for short) controller centrally controls virtual switches on all computing devices. Currently, a common virtual switch includes an open vSwitch. The SDN controller generally controls all virtual switches by using a flow table defined in the OpenFlow protocol.
Hardware resources on each computing device need to support running of at least multiple VMs, a virtual switch, and a virtual machine monitor. The virtual machine monitor is also referred to as a virtual machine manager or a hypervisor. Each computing device has limited hardware resources. If a virtual switch responsible for a data exchanging task occupies excessive hardware resources, running of a VM on the computing device is easily affected, and operating efficiency is reduced.